package tp.tecnicasdisenio.util;

import java.io.IOException;
import java.util.Properties;

public class LectorPropiedades {

  public final static String RUTA_ARCHIVO_CONFIG = "config.properties";
  public final static String SISTEMA_GESTION_BD = "sistema_gestionBD";
  public final static String NOMBRE_DRIVER_SGBD = "nombre_driver_sgbd";
  public final static String HOST_BD = "hostBD";
  public final static String NOMBRE_BD = "nombreBD";
  public final static String USER_BD = "userBD";
  public final static String PASSWORD_BD = "passwordBD";
  public final static String RUTA_ENTREGAS_TP = "pathEntregas";
  public final static String RUTA_REGLA_CONFIG = "pathReglaConfig";
  public final static String MAIL_ACCOUNT_USERNAME = "mail.account";
  public final static String MAIL_ACCOUNT_PASSWORD = "mail.password";
  public final static String MAIL_ACCOUNT_SMTP_HOST = "mail.smtp.host";
  public final static String MAIL_ACCOUNT_SMTP_PORT = "mail.smtp.port";
  public final static String MAIL_IMAP_HOST = "mail.imap.host";

  private static LectorPropiedades instancia = null;

  private static Properties propiedades = null;

  private LectorPropiedades() {
  }

  public static LectorPropiedades getInstance() {
    if (instancia == null)
      instancia = new LectorPropiedades();
    return instancia;
  }

  public String getPropiedad(String propiedad) {
    if (propiedades == null)
      propiedades = this.getPropiedades();
    return propiedades.getProperty(propiedad);
  }

  private Properties getPropiedades() {
    try
    {
      propiedades = new Properties();
      propiedades.load(LectorPropiedades.class.getClassLoader()
          .getResourceAsStream(RUTA_ARCHIVO_CONFIG));
      return propiedades;
    } catch(IOException ex) {
      ex.printStackTrace();
      return null;
    }
  }
}
